﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using Crosland.Automotriz.Logic.Linq;
using Crosland.Automotriz.Entidad;
using DevExpress.Web.ASPxEditors;
using System.Data;
using System.IO;

namespace Crosland.Automotriz.Web.Minorista
{
    public partial class wFrmSeguroVehicularActualizar : System.Web.UI.Page
    {
        const string scriptPopupAdjuntar = "MostrarPopupAdjuntar();";
        const string scriptPopupConsultar = "MostrarPopupConsultar();";
        const string script = "MostrarAlerta();";
        string idNegocio = ConfigurationManager.AppSettings["Negocio"];
        string ruta = ConfigurationManager.AppSettings["RutaFotosSeguro"];
        string rutaIIS = ConfigurationManager.AppSettings["RutaFotosSeguroIIS"];
        DataTable dt = new DataTable();

        protected void Page_Load(object sender, EventArgs e)
        {
            if (Page.IsPostBack == false)
            {
                ListarOficinaVentas();
                ListarAnio();
                ListarModelos();
                ListarFormaPago();
                ListarEndoso();
                ListarEntidadBancaria();
                Panel img = (Panel)Master.FindControl("asp");
                img.Visible = false;
                dt.Columns.Add("ruta");
                dt.Columns.Add("Nombre");
                dt.Columns.Add("id_tipo_documento");
                Session["dt"] = dt;

                if (Request.QueryString["idvvs"] != null) 
                {
                    //Cargar Cabecera
                    int idvvs = int.Parse(Request.QueryString["idvvs"]);
                    clsTH_Venta_Vehiculo_SeguroBL bl = new clsTH_Venta_Vehiculo_SeguroBL();
                    TH_VENTA_VEHICULO_SEGURO ent = new TH_VENTA_VEHICULO_SEGURO();
                    ent = bl.Seleccionar(idvvs);
                    int NRO_FACTURA = (int)ent.NRO_FACTURA;
                    int ID_ORG_VTA = (int)ent.ID_ORG_VTA;
                    lblIdOrgVenta.Text = ID_ORG_VTA.ToString();
                    int NRO_POSICION = (int)ent.NRO_POSICION;
                    lblIdPosicion.Text = NRO_POSICION.ToString();

                    txtFacturaConsultar.Text = NRO_FACTURA.ToString();
                    clsTH_VentaBL blv = new clsTH_VentaBL();
                    MapVentaDuaTitulo ev = new MapVentaDuaTitulo();
                    ev = blv.VentasSeleccionar(ID_ORG_VTA, NRO_FACTURA, NRO_POSICION);
                    lblCliente.Text = ev.NOM_COMERCIAL;
                    lblFechaEmision.Text = ev.FEC_FACTURA.Value.ToShortDateString();
                    lblNroFolio.Text = ev.NRO_FOLIO;
                    lblNroMotor.Text = ev.NRO_MOTOR;
                    lblModelo.Text = ev.DES_MODELO;
                    lblNroLote.Text = ev.NRO_LOTE;
                    lblCantidad.Text = ev.IMP_CANTIDAD.ToString();
                    lblFechaPoliza.Text = ev.FEC_POLIZA.Value.ToShortDateString();
                    lblReferenciaEmbarque.Text = ev.REF_EMBARQUE;
                    lblNroVin.Text = ev.NRO_VIN;
                    lblNroCaja.Text = ev.NRO_CAJA;
                    lblNroPedido.Text = ev.NRO_PEDIDO_SAP.ToString();
                    lblTotal.Text = ev.IMP_VENTA_SOLES.ToString();
                    lblNroPoliza.Text = ev.NRO_POLIZA;

                    cboFormaPago.Value = ent.ID_FORMA_PAGO.ToString();
                    cboEntidadBancaria.Value = ent.ID_BANCO.ToString();
                    cboEndoso.Value = ent.ID_ENDOSO.ToString();

                    Panel2.Visible = true;

                    //Cargar Detalle
                    TH_VENTA_VEHICULO_SEGURO eVS = new TH_VENTA_VEHICULO_SEGURO();
                    clsTH_Venta_Vehiculo_Seguro_FotoBL bVSF = new clsTH_Venta_Vehiculo_Seguro_FotoBL();
                    List<TH_VENTA_VEHICULO_SEGURO_FOTO> lista = new List<TH_VENTA_VEHICULO_SEGURO_FOTO>();
                    lista = bVSF.Listar(ID_ORG_VTA, NRO_FACTURA, NRO_POSICION);
                    for (int i = 0; i < lista.Count; i++) 
                    {
                        DataRow dr;
                        dr = dt.NewRow();
                        dr[0] = lista[i].DES_RUTA_ARCHIVO;
                        dr[1] = "";
                        dr[2] = lista[i].ID_TIPO_DOCUMENTO;
                        dt.Rows.Add(dr);
                        Session["dt"] = dt;
                    }
                    dv.DataSource = dt;
                    dv.DataBind();

                    clsT_Mae_Tabla_General_DetBL neg = new clsT_Mae_Tabla_General_DetBL();
                    for (int i = 0; i < dv.Items.Count; i++)
                    {
                        ASPxComboBox combo = (ASPxComboBox)dv.FindItemControl("cboTipoDocumento", dv.Items[i]);
                        if (combo != null)
                        {
                            combo.DataSource = neg.Listar("T_VEN_VEH_SEG_TIPO_DOC", 11);
                            combo.TextField = "DES_LARGA";
                            combo.ValueField = "ID_GENERAL_DET";
                            combo.DataBind();
                            combo.SelectedIndex = 0;
                        }
                    }

                    List<TH_VENTA_VEHICULO_SEGURO_FOTO> listado = new List<TH_VENTA_VEHICULO_SEGURO_FOTO>();
                    listado = bVSF.Listar(idvvs);
                    for (int i = 0; i < dv.Items.Count; i++)
                    {
                        ASPxComboBox combo = (ASPxComboBox)dv.FindItemControl("cboTipoDocumento", dv.Items[i]);
                        combo.Value = listado[i].ID_TIPO_DOCUMENTO.ToString();
                    }

                    btnConsultarFacturas.Enabled = false;
                    Label10.Visible = true;
                    btnGrabar.Enabled = true;

                    if (Request.QueryString["lec"] != null) 
                    {
                        btnGrabar.Enabled = false;
                        Uploader1.Visible = false;
                        Panel3.Visible = false;
                        cboFormaPago.Enabled = false;
                        cboEndoso.Enabled = false;
                        cboEntidadBancaria.Enabled = false;

                        for (int i = 0; i < dv.Items.Count; i++)
                        {
                            ASPxComboBox combo = (ASPxComboBox)dv.FindItemControl("cboTipoDocumento", dv.Items[i]);
                            combo.Enabled = false;
                            ImageButton ib = (ImageButton)dv.FindItemControl("ibEliminar", dv.Items[i]);
                            ib.Enabled = false;
                        }
                    }
                }
            }
            ListarFacturas();
        }

        void ListarModelos()
        {
            clsVW_ModeloBL blModelo = new clsVW_ModeloBL();
            List<TD_MODELO> mod = blModelo.ListaTodos();

            cboModelo.DataSource = mod;
            cboModelo.TextField = "DES_MODELO_FACTURA";
            cboModelo.ValueField = "ID_MODELO";
            cboModelo.DataBind();
            ListEditItem l = new ListEditItem() { Text = "Seleccionar", Value = "" };
            cboModelo.Items.Insert(0, l);
            cboModelo.SelectedIndex = 0;
        }

        void ListarOficinaVentas()
        {
            clsTd_Oficina_VentaLogic bl = new clsTd_Oficina_VentaLogic();
            cboOficinaVentas.DataSource = bl.lista();
            cboOficinaVentas.TextField = "DES_OFI_VTA";
            cboOficinaVentas.ValueField = "ID_OFI_VTA";
            cboOficinaVentas.DataBind();
            cboOficinaVentas.SelectedIndex = 0;
        }

        void ListarAnio()
        {
            clsTH_VentaBL bl = new clsTH_VentaBL();
            cboAnio.DataSource = bl.AniosFactura();
            cboAnio.TextField = "anio";
            cboAnio.ValueField = "anio";
            cboAnio.DataBind();
            cboAnio.SelectedIndex = 0;
        }

        void ListarFacturas()
        {
            clsTH_VentaBL bl = new clsTH_VentaBL();
            string oficina = cboOficinaVentas.Text;
            int anio = int.Parse(cboAnio.Text);
            int mes = int.Parse(cboMes.Value.ToString());
            string num_factura = txtFactura.Text.Trim();
            string num_folio = txtFolio.Text.Trim();
            string cliente = txtCliente.Text.Trim();

            string modelo = "";
            if (cboModelo.SelectedIndex == 0)
            {
                modelo = "";
            }
            else
            {
                modelo = cboModelo.Text;
            }

            gvFacturas.DataSource = bl.ListarVentas_Adjuntar(oficina, anio, mes, num_factura, num_folio, cliente, modelo);
            gvFacturas.DataBind();
        }

        void ListarFormaPago() 
        {
            clsT_Mae_Tabla_General_DetBL bl = new clsT_Mae_Tabla_General_DetBL();
            cboFormaPago.DataSource = bl.Listar("T_FORMA_PAGO", 11);
            cboFormaPago.TextField = "DES_LARGA";
            cboFormaPago.ValueField = "ID_GENERAL_DET";
            cboFormaPago.DataBind();
            cboFormaPago.SelectedIndex = 0;
        }

        void ListarEntidadBancaria() 
        {
            clsVW_Banco_Listar_BL bl = new clsVW_Banco_Listar_BL();
            cboEntidadBancaria.DataSource = bl.Listar();
            cboEntidadBancaria.TextField = "NOM_BANCO";
            cboEntidadBancaria.ValueField = "ID_BANCO";
            cboEntidadBancaria.DataBind();
            cboEntidadBancaria.SelectedIndex = 0;
        }

        void ListarEndoso() 
        {
            clsT_Mae_Tabla_General_DetBL bl = new clsT_Mae_Tabla_General_DetBL();
            cboEndoso.DataSource = bl.Listar("T_ENDOSO", 11);
            cboEndoso.TextField = "DES_LARGA";
            cboEndoso.ValueField = "ID_GENERAL_DET";
            cboEndoso.DataBind();
            cboEndoso.SelectedIndex = 0;
        }

        protected void btnSalir_Click(object sender, EventArgs e)
        {
            Session["dt"] = null;
            if (Request.QueryString["lec"] != null)
            {
                Response.Redirect("wFrmSeguroVehicularRespuesta.aspx?id=" + idNegocio);
            }
            else
            {
                Response.Redirect("wFrmSeguroVehicular.aspx?id=" + idNegocio);
            }
        }

        protected void btnConsultar_Click(object sender, EventArgs e)
        {
            ListarFacturas();
        }

        protected void btnConsultarFacturas_Click(object sender, EventArgs e)
        {
            ScriptManager.RegisterStartupScript(this, typeof(Page), "x", scriptPopupConsultar, true);
        }

        protected void btnAceptar_Click(object sender, EventArgs e)
        {
            int fila = gvFacturas.FocusedRowIndex;
            string NroFactura;
            NroFactura = gvFacturas.GetRowValues(fila, "NRO_FACTURA").ToString();
            txtFacturaConsultar.Text = NroFactura;
            lblCliente.Text = gvFacturas.GetRowValues(fila, "NOM_COMERCIAL").ToString();
            lblFechaEmision.Text = DateTime.Parse(gvFacturas.GetRowValues(fila, "FEC_FACTURA").ToString()).ToShortDateString();
            lblNroFolio.Text = gvFacturas.GetRowValues(fila, "NRO_FOLIO").ToString();
            lblModelo.Text = gvFacturas.GetRowValues(fila, "DES_MODELO").ToString();
            lblNroLote.Text = gvFacturas.GetRowValues(fila, "NRO_LOTE").ToString();
            lblNroCaja.Text = gvFacturas.GetRowValues(fila, "NRO_CAJA").ToString();
            lblFechaPoliza.Text = DateTime.Parse(gvFacturas.GetRowValues(fila, "FEC_POLIZA").ToString()).ToShortDateString();
            lblCantidad.Text = gvFacturas.GetRowValues(fila, "IMP_CANTIDAD").ToString();
            lblTotal.Text = gvFacturas.GetRowValues(fila, "IMP_VENTA_SOLES").ToString();
            lblNroMotor.Text = gvFacturas.GetRowValues(fila, "NRO_MOTOR").ToString();
            lblNroVin.Text = gvFacturas.GetRowValues(fila, "NRO_VIN").ToString();
            lblNroPedido.Text = gvFacturas.GetRowValues(fila, "NRO_PEDIDO_SAP").ToString();
            lblNroPoliza.Text = gvFacturas.GetRowValues(fila, "NRO_POLIZA").ToString();
            lblReferenciaEmbarque.Text = gvFacturas.GetRowValues(fila, "REF_EMBARQUE").ToString();
            lblIdOrgVenta.Text = gvFacturas.GetRowValues(fila, "ID_ORG_VTA").ToString();
            lblIdPosicion.Text = gvFacturas.GetRowValues(fila, "NRO_POSICION").ToString();
            Panel2.Visible = true;
            popupConsulta.ShowOnPageLoad = false;
            Label10.Visible = true;
            btnGrabar.Enabled = true;
        }

        protected void Uploader1_FileUploaded(object sender, CuteWebUI.UploaderEventArgs args)
        {

                DataTable dt = new DataTable();
                dt = (DataTable)Session["dt"];

                string[] filePart = args.FileName.Split('.');
                string extension = "." + filePart[filePart.Length - 1];

                byte[] file = null;
                byte[] bytes = Tools.ReadToEnd(args.OpenStream());
                if (args.FileSize > 1024 * 0.3)
                {
                    file = Tools.ResizeImageFile(bytes, 500, 400);
                }
                else file = bytes;

                string Nombre = filePart[0].Trim() + "_" + txtFacturaConsultar.Text.Trim() + "." + filePart[1].ToString();

                File.WriteAllBytes(ruta + Nombre, file);

                DataRow dr;
                dr = dt.NewRow();
                dr[0] = rutaIIS + filePart[0].ToString().Trim() + "_" + txtFacturaConsultar.Text.Trim() + "." + filePart[1].ToString();
                dr[1] = filePart[0].ToString().Trim() + "_" + txtFacturaConsultar.Text.Trim() + "." + filePart[1].ToString();
                dr[2] = "0";
                dt.Rows.Add(dr);
                Session["dt"] = dt;
                ListarFotos();
                btnConsultarFacturas.Enabled = false;

                //Cargar los tipos de documentos
                if (Request.QueryString["idvvs"] != null)//Actualizar
                {
                    clsTH_Venta_Vehiculo_Seguro_FotoBL bVSF = new clsTH_Venta_Vehiculo_Seguro_FotoBL();

                    int idvvs = int.Parse(Request.QueryString["idvvs"]);

                    List<TH_VENTA_VEHICULO_SEGURO_FOTO> lista = new List<TH_VENTA_VEHICULO_SEGURO_FOTO>();
                    lista = bVSF.Listar(idvvs);
                    for (int i = 0; i < dv.Items.Count; i++)
                    {
                        ASPxComboBox combo = (ASPxComboBox)dv.FindItemControl("cboTipoDocumento", dv.Items[i]);
                        combo.Value = lista[i].ID_TIPO_DOCUMENTO.ToString();
                    }
                }
        }

        void ListarFotos() 
        {
            clsT_Mae_Tabla_General_DetBL bl = new clsT_Mae_Tabla_General_DetBL();

            DataTable dt = new DataTable();
            dt = (DataTable)Session["dt"];
            dv.DataSource = dt;
            dv.DataBind();

            for (int i = 0; i < dv.Items.Count; i++) 
            {
                ASPxComboBox combo = (ASPxComboBox)dv.FindItemControl("cboTipoDocumento", dv.Items[i]);
                if (combo != null)
                {
                    combo.DataSource = bl.Listar("T_VEN_VEH_SEG_TIPO_DOC", 11);
                    combo.TextField = "DES_LARGA";
                    combo.ValueField = "ID_GENERAL_DET";
                    combo.DataBind();
                    combo.SelectedIndex = 0;
                }
            }

        }

        protected void btnGrabar_Click(object sender, EventArgs e)
        {
            clsTH_Venta_Vehiculo_Seguro_FotoBL bVSF = new clsTH_Venta_Vehiculo_Seguro_FotoBL();
            try
            {
                if (Request.QueryString["idvvs"] != null)//Actualizar
                {
                    int idvvs = int.Parse(Request.QueryString["idvvs"]);
                    DataTable dt = new DataTable();
                    dt = (DataTable)Session["dt"];

                    //Validar que exista detalle...
                    if (dt.Rows.Count == 0) 
                    {
                        lblMensaje.Text = "Primero debe de adjuntar los documentos.";
                        ScriptManager.RegisterStartupScript(this, typeof(Page), "x", script, true);
                        return;
                    }

                    //Actualizar TH_VENTA_VEHICULO_SEGURO
                    clsTH_Venta_Vehiculo_SeguroBL blvvs = new clsTH_Venta_Vehiculo_SeguroBL();
                    blvvs.Actualizar(idvvs, int.Parse(cboFormaPago.Value.ToString()), int.Parse(cboEntidadBancaria.Value.ToString()), int.Parse(cboEndoso.Value.ToString()));

                    //Eliminar TH_VENTA_VEHICULO_SEGURO_FOTO
                    bVSF.Eliminar(idvvs);
                    //Insertar TH_VENTA_VEHICULO_SEGURO_FOTO
                    for (int i = 0; i < dv.Items.Count; i++)
                    {
                        ASPxComboBox combo = (ASPxComboBox)dv.FindItemControl("cboTipoDocumento", dv.Items[i]);

                        TH_VENTA_VEHICULO_SEGURO_FOTO eVSF = new TH_VENTA_VEHICULO_SEGURO_FOTO();
                        eVSF.ID_VENTA_VEHICULO_SEGURO_FOTO = bVSF.ObtenerUltimoID_LOCAL() + 1;
                        eVSF.ID_VENTA_VEHICULO_SEGURO = idvvs;
                        eVSF.ID_TIPO_DOCUMENTO = int.Parse(combo.Value.ToString());
                        eVSF.DES_RUTA_ARCHIVO = dt.Rows[i]["ruta"].ToString();
                        bVSF.Insertar(eVSF);
                    }
                    //Refrescar
                    dv.DataSource = dt;
                    dv.DataBind();

                    clsT_Mae_Tabla_General_DetBL bl = new clsT_Mae_Tabla_General_DetBL();
                    for (int i = 0; i < dv.Items.Count; i++)
                    {
                        ASPxComboBox combo = (ASPxComboBox)dv.FindItemControl("cboTipoDocumento", dv.Items[i]);
                        if (combo != null)
                        {
                            combo.DataSource = bl.Listar("T_VEN_VEH_SEG_TIPO_DOC", 11);
                            combo.TextField = "DES_LARGA";
                            combo.ValueField = "ID_GENERAL_DET";
                            combo.DataBind();
                            combo.SelectedIndex = 0;
                        }
                    }

                    List<TH_VENTA_VEHICULO_SEGURO_FOTO> lista = new List<TH_VENTA_VEHICULO_SEGURO_FOTO>();
                    lista = bVSF.Listar(idvvs);
                    for (int i = 0; i < dv.Items.Count; i++)
                    {
                        ASPxComboBox combo = (ASPxComboBox)dv.FindItemControl("cboTipoDocumento", dv.Items[i]);
                        combo.Value = lista[i].ID_TIPO_DOCUMENTO.ToString();
                        combo.Enabled = false;
                    }

                    Uploader1.Visible = false;
                    Panel3.Visible = false;
                    btnGrabar.Enabled = false;

                    cboFormaPago.Enabled = false;
                    cboEntidadBancaria.Enabled = false;
                    cboEndoso.Enabled = false;

                    lblMensaje.Text = "Se actualizó satisfactoriamente.";
                    ScriptManager.RegisterStartupScript(this, typeof(Page), "x", script, true);
                }
                else
                {

                    DataTable dt = new DataTable();
                    dt = (DataTable)Session["dt"];

                    //Validar que exista detalle...
                    if (dt.Rows.Count == 0)
                    {
                        lblMensaje.Text = "Primero debe de adjuntar los documentos.";
                        ScriptManager.RegisterStartupScript(this, typeof(Page), "x", script, true);
                        return;
                    }

                    //Grabar Cabecera
                    TH_VENTA_VEHICULO_SEGURO eVS = new TH_VENTA_VEHICULO_SEGURO();
                    clsTH_Venta_Vehiculo_SeguroBL bVS = new clsTH_Venta_Vehiculo_SeguroBL();

                    eVS.ID_VENTA_VEHICULO_SEGURO = bVS.ObtenerUltimoID_LOCAL() + 1;
                    eVS.ID_ORG_VTA = int.Parse(lblIdOrgVenta.Text);
                    eVS.NRO_FACTURA = int.Parse(txtFacturaConsultar.Text);
                    eVS.NRO_POSICION = int.Parse(lblIdPosicion.Text);
                    eVS.FEC_REGISTRO = DateTime.Now;
                    eVS.FEC_SOLICITUD = null;
                    eVS.FEC_APROBACION = null;
                    eVS.ID_ESTADO = 40;//En proceso
                    eVS.ID_USUARIO_REGISTRO =Session["User"].ToString();
                    eVS.ID_USUARIO_SOLICITUD = null;
                    eVS.ID_USUARIO_APROBACION = null;
                    eVS.DES_OBSERVACION_SOLICITUD = "";
                    eVS.DES_OBSERVACION_APROBACION = "";
                    eVS.ID_FORMA_PAGO = int.Parse(cboFormaPago.Value.ToString());
                    eVS.ID_BANCO = int.Parse(cboEntidadBancaria.Value.ToString());
                    eVS.ID_ENDOSO = int.Parse(cboEndoso.Value.ToString());
                    bVS.Insertar(eVS);

                    //Graba el Detalle
                    for (int i = 0; i < dv.Items.Count; i++)
                    {
                        ASPxComboBox combo = (ASPxComboBox)dv.FindItemControl("cboTipoDocumento", dv.Items[i]);

                        TH_VENTA_VEHICULO_SEGURO_FOTO eVSF = new TH_VENTA_VEHICULO_SEGURO_FOTO();
                        eVSF.ID_VENTA_VEHICULO_SEGURO_FOTO = bVSF.ObtenerUltimoID_LOCAL() + 1;
                        eVSF.ID_VENTA_VEHICULO_SEGURO = eVS.ID_VENTA_VEHICULO_SEGURO;
                        eVSF.ID_TIPO_DOCUMENTO = int.Parse(combo.Value.ToString());
                        eVSF.DES_RUTA_ARCHIVO = dt.Rows[i]["ruta"].ToString();
                        bVSF.Insertar(eVSF);
                    }
                    //Refrescar
                    dv.DataSource = dt;
                    dv.DataBind();

                    clsT_Mae_Tabla_General_DetBL bl = new clsT_Mae_Tabla_General_DetBL();
                    for (int i = 0; i < dv.Items.Count; i++)
                    {
                        ASPxComboBox combo = (ASPxComboBox)dv.FindItemControl("cboTipoDocumento", dv.Items[i]);
                        if (combo != null)
                        {
                            combo.DataSource = bl.Listar("T_VEN_VEH_SEG_TIPO_DOC", 11);
                            combo.TextField = "DES_LARGA";
                            combo.ValueField = "ID_GENERAL_DET";
                            combo.DataBind();
                            combo.SelectedIndex = 0;
                        }
                    }

                    List<TH_VENTA_VEHICULO_SEGURO_FOTO> lista = new List<TH_VENTA_VEHICULO_SEGURO_FOTO>();
                    lista = bVSF.Listar(eVS.ID_VENTA_VEHICULO_SEGURO);
                    for (int i = 0; i < dv.Items.Count; i++)
                    {
                        ASPxComboBox combo = (ASPxComboBox)dv.FindItemControl("cboTipoDocumento", dv.Items[i]);
                        combo.Value = lista[i].ID_TIPO_DOCUMENTO.ToString();
                        combo.Enabled = false;
                    }

                    Uploader1.Visible = false;
                    Panel3.Visible = false;
                    btnGrabar.Enabled = false;
                    cboFormaPago.Enabled = false;
                    cboEntidadBancaria.Enabled = false;
                    cboEndoso.Enabled = false;

                    lblMensaje.Text = "Se registró satisfactoriamente.";
                    ScriptManager.RegisterStartupScript(this, typeof(Page), "x", script, true);
                }
            }
            catch (Exception ex)
            {
                lblMensaje.Text = ex.Message;
                ScriptManager.RegisterStartupScript(this, typeof(Page), "x", script, true);
            }
            
        }

        protected void ibEliminar_Click(object sender, ImageClickEventArgs e)
        {
            try
            {
                ImageButton b = (ImageButton)sender;
                string rutaImagen = b.AlternateText;
                clsTH_Venta_Vehiculo_Seguro_FotoBL bl = new clsTH_Venta_Vehiculo_Seguro_FotoBL();
                bl.Eliminar(rutaImagen);

                DataTable dt = new DataTable();
                dt = (DataTable)Session["dt"];
                for (int i = 0; i < dt.Rows.Count; i++) 
                {
                    if (rutaImagen.Trim() == dt.Rows[i]["ruta"].ToString().Trim()) 
                    {
                        dt.Rows.RemoveAt(i);
                    }
                }

                //Refrescar
                dv.DataSource = dt;
                dv.DataBind();
                clsT_Mae_Tabla_General_DetBL blt = new clsT_Mae_Tabla_General_DetBL();
                for (int i = 0; i < dv.Items.Count; i++)
                {
                    ASPxComboBox combo = (ASPxComboBox)dv.FindItemControl("cboTipoDocumento", dv.Items[i]);
                    if (combo != null)
                    {
                        combo.DataSource = blt.Listar("T_VEN_VEH_SEG_TIPO_DOC", 11);
                        combo.TextField = "DES_LARGA";
                        combo.ValueField = "ID_GENERAL_DET";
                        combo.DataBind();
                        combo.SelectedIndex = 0;
                    }
                }

                if (Request.QueryString["idvvs"] != null)//Actualizar
                {
                    clsTH_Venta_Vehiculo_Seguro_FotoBL bVSF = new clsTH_Venta_Vehiculo_Seguro_FotoBL();
                    int idvvs = int.Parse(Request.QueryString["idvvs"]);
                    List<TH_VENTA_VEHICULO_SEGURO_FOTO> lista = new List<TH_VENTA_VEHICULO_SEGURO_FOTO>();
                    lista = bVSF.Listar(idvvs);
                    for (int i = 0; i < dv.Items.Count; i++)
                    {
                        ASPxComboBox combo = (ASPxComboBox)dv.FindItemControl("cboTipoDocumento", dv.Items[i]);
                        combo.Value = lista[i].ID_TIPO_DOCUMENTO.ToString();
                    }
                }
            }
            catch (Exception ex)
            {
                lblMensaje.Text = ex.Message;
                ScriptManager.RegisterStartupScript(this, typeof(Page), "x", script, true);
            }

        }

    }
}